package tests;

import java.awt.Point;

import aplicacion.modelo.PastillaMagica;
import aplicacion.modelo.Puntaje;
import junit.framework.Assert;
import junit.framework.TestCase;

public class PastillaMagicaTest extends TestCase {
	
	public void testEstaBloqueada() {
		PastillaMagica pastilla=new PastillaMagica(new Point(1,8));
		Assert.assertTrue(!pastilla.estaBloqueada());
	}

	public void testFruta() {
		Puntaje puntaje=new Puntaje();
		Point posicion=new Point(1,8);
		PastillaMagica pastillaMagica=new PastillaMagica(posicion);
		Assert.assertEquals(posicion,pastillaMagica.getPosicion());
		Assert.assertEquals(puntaje.getPuntaje(),0);
	}
	
	public void testGetPuntosOtorgados(){
		Point posicion=new Point(1,8);
		PastillaMagica pastillaMagica=new PastillaMagica(posicion);
		Assert.assertEquals(pastillaMagica.getPuntos(),pastillaMagica.getPuntos());
	}
	
	public void testRecorrerNoRecorrida(){
		Point posicion=new Point(0,0);
		PastillaMagica pastillaMagica=new PastillaMagica(posicion);
		Assert.assertEquals(pastillaMagica.getPuntaje(),0);
		Assert.assertEquals(posicion,pastillaMagica.recorrer());
		Assert.assertTrue(pastillaMagica.estaVisitada());
	}

	public void testRecorrerRecorrida(){
		Point posicion=new Point(0,0);
		PastillaMagica pastillaMagica=new PastillaMagica(posicion);
		pastillaMagica.recorrer();
		Assert.assertEquals(posicion,pastillaMagica.recorrer());
		Assert.assertTrue(pastillaMagica.estaVisitada());
	}
	
	public void testAumentarPuntaje(){
		Point posicion=new Point(0,0);
		PastillaMagica pastillaMagica=new PastillaMagica(posicion);
		int puntosEsperados=pastillaMagica.getPuntaje()+pastillaMagica.getPuntos();
		pastillaMagica.aumentarPuntaje(pastillaMagica.getPuntos());
		Assert.assertEquals(puntosEsperados, pastillaMagica.getPuntaje());
	}
}
